package com.qyer.lxp.model.product.normal;

import javax.xml.bind.annotation.*;
import java.io.Serializable;
import java.util.List;

/**
 * 获取产品详细信息接口输出参数类
 * Created by wangzhen on 16/5/18.
 */

@XmlRootElement(name = "product-detail")
@XmlAccessorType(XmlAccessType.FIELD)
public class ProductInfo implements Serializable{
    private static final long serialVersionUID = 2299530736223326143L;

    private int id;
    /**
     * 产品code
     */
    @XmlElement(name = "product-code")
    private String productCode;

    /**
     * 产品名称
     */
    @XmlElement(name = "product-name")
    private String productName;

    /**
     * 产品类型
     */
    @XmlElement(name = "product-type")
    private String productType;

    /**
     * 币种
     */
    @XmlElement(name = "currency")
    private String currency;

    /**
     * 主分类code
     */
    @XmlElement(name = "category")
    private String category;

    /**
     * 二级分类 code
     */
    @XmlElement(name = "sub-category")
    private String subCategory;

    /**
     * 时长类型(DURATION_DAYS 几天几晚/DURATION_HOURS 表示几小时几分钟)
     */
    @XmlElement(name = "duration-type")
    private String durationType;

    /**
     * 天数/小时数(由 DurationType 定)
     */
    @XmlElement(name = "duration-part1")
    private String durationPart1;

    /**
     * 晚数/分钟数(由 DurationType 定)
     */
    @XmlElement(name = "duration-part2")
    private String durationPart2;

    /**
     * 简要描述
     */
    @XmlElement(name = "short-description")
    private String shortDescription;

    /**
     * 主图地址
     */
    @XmlElement(name = "main-pic")
    private String mainPic;

    /**
     * 推荐等级
     */
    @XmlElement(name = "recommend-level")
    private String recommendLevel;

    /**
     * 地址(例如:美国 纽约)
     */
    @XmlElement(name = "location")
    private String location;

    /**
     * 目的地 code
     */
    @XmlElement(name = "dest-code")
    private String destCode;

    /**
     * 所在行政区 code
     */
    @XmlElement(name = "district-code")
    private String districtCode;

    /**
     * 所在城市 code
     */
    @XmlElement(name = "city-code")
    private String cityCode;

    /**
     * 所在地区 code
     */
    @XmlElement(name = "region-code")
    private String regionCode;

    /**
     * 所在国家 code
     */
    @XmlElement(name = "country-code")
    private String countryCode;

    /**
     * 所在大洲 code
     */
    @XmlElement(name = "continent-code")
    private String continentCode;

    /**
     * 主题分类
     */
    @XmlElement(name = "tags")
    private String tags;

    /**
     * 星级(酒店专用)
     */
    @XmlElement(name = "star-level")
    private String starLevel;

    /**
     * 纬度
     */
    @XmlElement(name = "lat")
    private String lat;

    /**
     * 经度
     */
    @XmlElement(name = "lon")
    private String lon;

    /**
     * 目的地名称
     */
    @XmlElement(name = "dest-name")
    private String destName;

    /**
     * 出发地名称
     */
    @XmlElement(name = "depart-name")
    private String departName;

    /**
     * 出发地 code
     */
    @XmlElement(name = "depart-code")
    private String departCode;

    /**
     * 详细介绍
     */
    @XmlElement(name = "descriptions")
    private ProductDescs descriptions;

    /**
     * 出发时间
     */
    @XmlElement(name = "departure-time")
    private String departureTime;

    /**
     * 出发地点
     */
    @XmlElement(name = "departure-point")
    private String departurePoint;

    /**
     * 出发备注
     */
    @XmlElement(name = "departure-remark")
    private String departureRemark;

    /**
     * 解散时间
     */
    @XmlElement(name = "drop-off-time")
    private String dropOffTime;

    /**
     * 解散地点
     */
    @XmlElement(name = "drop-off-point")
    private String dropOffPoint;

    /**
     * 解散备注
     */
    @XmlElement(name = "drop-off-remark")
    private String dropOffRemark;

    /**
     * 是否接
     */
    @XmlElement(name = "pick-up")
    private String pickUp;

    /**
     * 是否可以由客人自填接人地址
     */
    @XmlElement(name = "pickup-on-request")
    private String pickupOnRequest;

    /**
     * 是否送
     */
    @XmlElement(name = "drop-off")
    private String dropOff;

    /**
     * 是否可以由客人自填送人地址
     */
    @XmlElement(name = "drop-off-on-request")
    private String dropOffOnRequest;


    /**
     * 卖点
     */
    @XmlElementWrapper(name = "sale-points")
    @XmlElement(name = "sale-point")
    private List<String> salePoints;

    private String salePoints_str;

    /**
     * 净价起
     */
    @XmlElement(name = "net-price-from")
    private String netPriceFrom;

    /**
     * 起价说明
     */
    @XmlElement(name = "net-price-from-desc")
    private String netPriceFromDesc;

    /**
     * 市场价起
     */
    @XmlElement(name = "retail-price-from")
    private String retailPriceFrom;

    /**
     * 费用包含
     */
    @XmlElement(name = "inclusions")
    private String inclusions;

    /**
     * 费用不包含
     */
    @XmlElement(name = "exclusions")
    private String exclusions;

    /**
     * 地址
     */
    @XmlElement(name = "address")
    private String address;

    /**
     * 电话
     */
    @XmlElement(name = "tel")
    private String tel;

    /**
     * 网址
     */
    @XmlElement(name = "website")
    private String website;

    /**
     * 酒店星级
     */
    @XmlElement(name = "hotel-star")
    private String hotelStar;

    /**
     * 营业时间
     */
    @XmlElement(name = "opening-hours")
    private String openingHours;

    /**
     * 注意事项
     */
    @XmlElement(name = "attentions")
    private String attentions;

    /**
     * 规格信息
     */
    @XmlElement(name = "product-specifications")
    private ProductSpecfications productSpecifications;

    /**
     * 照片
     */
    @XmlElement(name = "photos")
    private ProductPhotos bookPhotos;

    /**
     * 预订需要填写的问题例如飞机航班号
     */
    @XmlElement(name = "book-questions")
    private ProductBookQuestions bookQuestions;

    /**
     * 扩展字段
     */
    @XmlElement(name = "extend-properties")
    private ProductExtendProperties extendProperties;

    /**
     * 多日行程􏰀述,category 为目的地参团和出发地参团的产品有此内容
     */
    @XmlElement(name = "itineraries")
    private ProductItineraries itineraries;

    /**
     * 销售项目信息
     */
    @XmlElement(name = "sale-item-details")
    private SaleItemDetails saleItemDetails;

    private int status;

    private String cityName;

    private String regionName;

    private String countryName;

    private String continentName;

    private String fromtime;



    public String getProductCode() {
        return productCode;
    }

    public void setProductCode(String productCode) {
        this.productCode = productCode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductType() {
        return productType;
    }

    public void setProductType(String productType) {
        this.productType = productType;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCategory() {
        return category;
    }

    public void setCategory(String category) {
        this.category = category;
    }

    public String getSubCategory() {
        return subCategory;
    }

    public void setSubCategory(String subCategory) {
        this.subCategory = subCategory;
    }

    public String getDurationType() {
        return durationType;
    }

    public void setDurationType(String durationType) {
        this.durationType = durationType;
    }

    public String getDurationPart1() {
        return durationPart1;
    }

    public void setDurationPart1(String durationPart1) {
        this.durationPart1 = durationPart1;
    }

    public String getDurationPart2() {
        return durationPart2;
    }

    public void setDurationPart2(String durationPart2) {
        this.durationPart2 = durationPart2;
    }

    public String getShortDescription() {
        return shortDescription;
    }

    public void setShortDescription(String shortDescription) {
        this.shortDescription = shortDescription;
    }

    public String getMainPic() {
        return mainPic;
    }

    public void setMainPic(String mainPic) {
        this.mainPic = mainPic;
    }

    public String getRecommendLevel() {
        return recommendLevel;
    }

    public void setRecommendLevel(String recommendLevel) {
        this.recommendLevel = recommendLevel;
    }

    public String getLocation() {
        return location;
    }

    public void setLocation(String location) {
        this.location = location;
    }

    public String getDestCode() {
        return destCode;
    }

    public void setDestCode(String destCode) {
        this.destCode = destCode;
    }

    public String getDistrictCode() {
        return districtCode;
    }

    public void setDistrictCode(String districtCode) {
        this.districtCode = districtCode;
    }

    public String getCityCode() {
        return cityCode;
    }

    public void setCityCode(String cityCode) {
        this.cityCode = cityCode;
    }

    public String getRegionCode() {
        return regionCode;
    }

    public void setRegionCode(String regionCode) {
        this.regionCode = regionCode;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getContinentCode() {
        return continentCode;
    }

    public void setContinentCode(String continentCode) {
        this.continentCode = continentCode;
    }

    public String getTags() {
        return tags;
    }

    public void setTags(String tags) {
        this.tags = tags;
    }

    public String getStarLevel() {
        return starLevel;
    }

    public void setStarLevel(String starLevel) {
        this.starLevel = starLevel;
    }

    public String getLat() {
        return lat;
    }

    public void setLat(String lat) {
        this.lat = lat;
    }

    public String getLon() {
        return lon;
    }

    public void setLon(String lon) {
        this.lon = lon;
    }

    public String getDestName() {
        return destName;
    }

    public void setDestName(String destName) {
        this.destName = destName;
    }

    public String getDepartName() {
        return departName;
    }

    public void setDepartName(String departName) {
        this.departName = departName;
    }

    public String getDepartCode() {
        return departCode;
    }

    public void setDepartCode(String departCode) {
        this.departCode = departCode;
    }

    public ProductDescs getDescriptions() {
        return descriptions;
    }

    public void setDescriptions(ProductDescs descriptions) {
        this.descriptions = descriptions;
    }

    public String getDepartureTime() {
        return departureTime;
    }

    public void setDepartureTime(String departureTime) {
        this.departureTime = departureTime;
    }

    public String getDeparturePoint() {
        return departurePoint;
    }

    public void setDeparturePoint(String departurePoint) {
        this.departurePoint = departurePoint;
    }

    public String getDepartureRemark() {
        return departureRemark;
    }

    public void setDepartureRemark(String departureRemark) {
        this.departureRemark = departureRemark;
    }

    public String getDropOffTime() {
        return dropOffTime;
    }

    public void setDropOffTime(String dropOffTime) {
        this.dropOffTime = dropOffTime;
    }

    public String getDropOffPoint() {
        return dropOffPoint;
    }

    public void setDropOffPoint(String dropOffPoint) {
        this.dropOffPoint = dropOffPoint;
    }

    public String getDropOffRemark() {
        return dropOffRemark;
    }

    public void setDropOffRemark(String dropOffRemark) {
        this.dropOffRemark = dropOffRemark;
    }

    public String getPickUp() {
        return pickUp;
    }

    public void setPickUp(String pickUp) {
        this.pickUp = pickUp;
    }

    public String getPickupOnRequest() {
        return pickupOnRequest;
    }

    public void setPickupOnRequest(String pickupOnRequest) {
        this.pickupOnRequest = pickupOnRequest;
    }

    public String getDropOff() {
        return dropOff;
    }

    public void setDropOff(String dropOff) {
        this.dropOff = dropOff;
    }

    public String getDropOffOnRequest() {
        return dropOffOnRequest;
    }

    public void setDropOffOnRequest(String dropOffOnRequest) {
        this.dropOffOnRequest = dropOffOnRequest;
    }

    public List<String> getSalePoints() {
        return salePoints;
    }

    public void setSalePoints(List<String> salePoints) {
        this.salePoints = salePoints;
    }

    public String getNetPriceFrom() {
        return netPriceFrom;
    }

    public void setNetPriceFrom(String netPriceFrom) {
        this.netPriceFrom = netPriceFrom;
    }

    public String getNetPriceFromDesc() {
        return netPriceFromDesc;
    }

    public void setNetPriceFromDesc(String netPriceFromDesc) {
        this.netPriceFromDesc = netPriceFromDesc;
    }

    public String getRetailPriceFrom() {
        return retailPriceFrom;
    }

    public void setRetailPriceFrom(String retailPriceFrom) {
        this.retailPriceFrom = retailPriceFrom;
    }

    public String getInclusions() {
        return inclusions;
    }

    public void setInclusions(String inclusions) {
        this.inclusions = inclusions;
    }

    public String getExclusions() {
        return exclusions;
    }

    public void setExclusions(String exclusions) {
        this.exclusions = exclusions;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getWebsite() {
        return website;
    }

    public void setWebsite(String website) {
        this.website = website;
    }

    public String getHotelStar() {
        return hotelStar;
    }

    public void setHotelStar(String hotelStar) {
        this.hotelStar = hotelStar;
    }

    public String getOpeningHours() {
        return openingHours;
    }

    public void setOpeningHours(String openingHours) {
        this.openingHours = openingHours;
    }

    public String getAttentions() {
        return attentions;
    }

    public void setAttentions(String attentions) {
        this.attentions = attentions;
    }

    public ProductSpecfications getProductSpecifications() {
        return productSpecifications;
    }

    public void setProductSpecifications(ProductSpecfications productSpecifications) {
        this.productSpecifications = productSpecifications;
    }

    public ProductPhotos getBookPhotos() {
        return bookPhotos;
    }

    public void setBookPhotos(ProductPhotos bookPhotos) {
        this.bookPhotos = bookPhotos;
    }

    public ProductBookQuestions getBookQuestions() {
        return bookQuestions;
    }

    public void setBookQuestions(ProductBookQuestions bookQuestions) {
        this.bookQuestions = bookQuestions;
    }

    public ProductExtendProperties getExtendProperties() {
        return extendProperties;
    }

    public void setExtendProperties(ProductExtendProperties extendProperties) {
        this.extendProperties = extendProperties;
    }

    public ProductItineraries getItineraries() {
        return itineraries;
    }

    public void setItineraries(ProductItineraries itineraries) {
        this.itineraries = itineraries;
    }

    public SaleItemDetails getSaleItemDetails() {
        return saleItemDetails;
    }

    public void setSaleItemDetails(SaleItemDetails saleItemDetails) {
        this.saleItemDetails = saleItemDetails;
    }

    public String getSalePoints_str() {
        return salePoints_str;
    }

    public void setSalePoints_str(String salePoints_str) {
        this.salePoints_str = salePoints_str;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getRegionName() {
        return regionName;
    }

    public void setRegionName(String regionName) {
        this.regionName = regionName;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public String getContinentName() {
        return continentName;
    }

    public void setContinentName(String continentName) {
        this.continentName = continentName;
    }

    public String getFromtime() {
        return fromtime;
    }

    public void setFromtime(String fromtime) {
        this.fromtime = fromtime;
    }
}
